/**
 * jquery.loading.js 文档地址<https://xxx.com/xxx>
 * 版本号: 1.0
 * 作者：zhangqi
 * 创建时间: 2015/07/01
 * @options 类型 Object
 * @options.opacity 类型（Float），作用(loading遮罩的透明度)，是否必传（否）
 * @options.state 类型（Boolean）,作用（是否取消loading遮罩），是否必传（否），默认值（false）
 * 调用说明：
 * $("#div1").loading(); //对id位div1的div启用loading遮罩
 * $("#div1").loading({state:false}); //取消对div1的loading遮罩
 */

;(function($){
    $.fn.extend({
        loading:function(options){
            $.fn.loading.defaults= {
                state:true //是否移除
                ,opacity:0.5
                ,text:""
            }
            var opts = $.extend({},$.fn.loading.defaults,options);

            return this.each(function() {
                var $loadingWrap = $(this);

                if(!opts.state){
                    $loadingWrap.find(".jq_loading").length && $loadingWrap.find(".jq_loading").remove();
                }else{
                    if($loadingWrap.css("position") != "absolute"){
                        $loadingWrap.css({position:"relative"});
                    }
                    var height = $loadingWrap.height();
                    var _sHtml = '<div class="jq_loading">'+opts.text+'</div>';
                    var $loading = $(_sHtml);
                    var _oStyle = {
                        position:"absolute"
                        ,left:0
                        ,top:0
                        ,width:"100%"
                        ,height:"100%"
                        ,lineHeight:height+"px"
                        ,color:"#999"
                        ,textAlign:"center"
                        ,zIndex:99
                        ,backgroundImage:localhost+"/static/images/loading-1.gif)"  //调用的时候此处图片的url地址根据需要来修改
                        ,backgroundRepeat:"no-repeat"
                        ,backgroundPosition:"center center"
                        ,backgroundColor:"#fff"
                    };
                    //如果是ie
                    if(/(?:MSIE)/.test(navigator.userAgent)){
                        _oStyle.opacity = opts.opacity || 0.5;
                        _oStyle.filter = "alpha(opacity="+(opts.opacity*100)+")";
                    }else{
                        _oStyle.backgroundColor = "rgba(255, 255, 255, "+opts.opacity+")";
                    }

                    $loading.css(_oStyle);
                    $loadingWrap.append($loading);
                }
            });
        }
    });
})(jQuery);
